A business enterprise may use various programs running on one or more computer systems to manage and process business data. Computer systems may be used for processing business transactions, such as taking and fulfilling customer orders, providing supply chain and inventory management, performing human resource management functions, and performing financial management functions. Computer systems also may be used for analyzing data, including analyzing data obtained through transaction processing systems.
Software systems and components using object technology may be developed for computer systems. The operations of these systems and components may occur through execution of actions that are performed on and/or by data objects. A data object's state may be said to include the combination of current attribute values of the object at a particular point in time. The execution of an action may change attribute values of an object, which, in turn, may lead to a new state of the object. Sometimes the current state of the object or computing environment may be an important factor in determining whether a particular action is allowed to be performed or not.